#include "solver.h"

class Solver3
{
private: 
	double u0;
	double du0;
	double a;
	double b;
	double right;
	double epsilon_right;
	double epsilon;
	int Nmax;
	double h;
	std::list<SearchNode>* result1;
	std::list<SearchNode>* result2;

public: 
	Solver3(double u0, double du0, double a, double b, double right, double eps, double eps_r, int n, double h);
	~Solver3() { delete result1; delete result2; };

	void solve();
	std::list<SearchNode>* getResultU1() { return result1; };
	std::list<SearchNode>* getResultU2() { return result2; };
	void getPortret();
private:
	virtual double f1(double x, double v, double u);
	virtual double f2(double x, double v, double u);
};